package net.cathackers.devel.scmp.auth.interfaces;

import net.cathackers.devel.scmp.auth.exceptions.ProfileNotFoundException;
import net.cathackers.devel.scmp.auth.exceptions.ProfileAlreadyExistsException;
import net.cathackers.devel.scmp.exceptions.BackendConnectException;
import net.cathackers.devel.scmp.exceptions.BackendException;

public interface IdentityManager {
    String getField(UserProfile profile, UserProfileField field) throws ProfileNotFoundException, BackendConnectException, BackendException;
    //String[] getListField(UserProfile profile, UserProfileListField field) throws ProfileNotFoundException, BackendConnectException;
    UserProfile getProfile(String id);
    UserProfile searchForProfile(ProfileSearchInformation info) throws ProfileNotFoundException, BackendConnectException, BackendException;
    boolean updateProfile(UserProfile profile)throws ProfileNotFoundException, BackendConnectException, BackendException;
    String addProfile(UserProfile profile) throws BackendConnectException, ProfileAlreadyExistsException, BackendException;
}
